1. Field of the Invention
The present invention relates to a data transmitting/receiving system and method thereof, and more particularly, to a data transmitting/receiving system and method thereof that uses a real-time transmission protocol to control a retransmission of a packet that is damaged in the process of multimedia data transmission.
2. Description of the Related Art
Generally, data like moving picture data (video) and audio data, which require real-time transmission (streaming), are usually transmitted by a real-time transport protocol (RTP). The user datagram protocol (UDP) is specified by the IETF AVT (Internet Engineering Task Force Audio/Video Transport) Working Group, and the Request for Comment (RFC) 1889 specifies the RTP that is the transport protocol for transmitting real-time application data and a real-time transport control protocol (RTCP) for transmitting control information. However, RTP does not deal with contents about resource bookings, and more particularly, RTP does not provide services like timely data transmission, quality of service (QoS) guarantee, and prevention of non-orderly transmission. In other words, it can be said that the RTP is a standard that is focused on the real-time data transmission. Typically an RTP packet is transmitted on top of UDP.
FIG. 1 is a view showing the RTP packet. Referring to FIG. 1, a header of the RTP packet has a fixed size, and is followed by information and data. About the fields in the RTP packet header, briefly, a V field is a version field and a P field is used to construct a packet in 32-bit unit. An X field indicates as to whether the header will be expanded or not. A CC field refers to the number of contributing source identifier (CSRC). An M field indicates a frame region with respect to the multimedia information. Accordingly, the M field is used to distinguish information of the packet, like distinguishing audio information from image information, etc. A PT field refers to the format of the RTP payload of the profile defined by the RFC 1890, which is interpreted by an application program. A sequence number field indicates an order of the RTP packet. A ‘timestamp’ field indicates the point of time that the first octet is sampled. A synchronization source (SSRC) field refers to an identifier of data sources like a camera or a microphone. A CSRC field refers to identifiers that could identify sources of the RTP packet that is mixed in an intermediate system.
Positioned next to the RTP header is data formatted in a UDP packet. FIG. 2 shows the data format that is capsulated in the UDP format. Referring to FIG. 2, the UDP packet is comprised of an IP header, a UDP header and UDP data. In the IP header, addresses of data source and destination, upper layer protocol and check sum are recorded. Recorded in the UDP header are port numbers of the source and destination, sizes of the UDP header and the data, and UDP check sum. The UDP data is for transmission. The UDP header and the UDP data are collectively called a UDP datagram, and the IP header and the UDP datagram are collectively called an IP datagram. In other words, the RTP packet comprises the RTP header and the IP datagram (IP/UDP/RTP packet).
The RTP packet described with reference to FIGS. 1 and 2 can be transmitted through a wire, or wirelessly. In transmission, due to loss of some bits or damage to the data by noise or the like, sometimes some parts of or an entire RTP packet are improperly received at a receiving end. In this case, the receiving end analyzes the packet number of the incompletely received packet and requests the transmitting end for a retransmission.
Meanwhile, data transmission under mobile communication environment is carried out by a radio link protocol (RLP). FIG. 3 is a view showing the format of the RLP packet. Referring to FIG. 3, the RLP packet is comprised of a sequence field (SEQ), a control field (CTL), a data field (DATA), and a form field (TYPE). SEQ field indicates the order of the RLP packet. The CTL field can record functions, such as a password, a retransmission by NAK method, and the like. In the data field, data is recorded, and in the form field, the form of the data frame structure is recorded.
When supporting a data service in the CDMA mobile communication system, typically the RLP (IS-707.2) is used as the link layer between the mobile station and base station. Accordingly, to wirelessly transmit the RTP packet, the RTP packet is converted into the RLP packet. In the conventional RLP layer, only a password function and a selective NAK transmission function for the retransmission of wireless link frame exist.
However, wireless regions are typically exposed to high levels of noise influence, and there is also a high possibility of bursts in particular regions. Also, due to interferences with another wireless signal or due to multi-paths, possibilities of fading also exist. All of these cause a higher possibility of loss in the wireless region than in the wired regions. Also, wireless communication has a limited bandwidth for data transmission, and a high data transmission cost. In this respect, it is very critical that the size and volume of the transmitted data have to be reduced. Accordingly, appropriate controlling retransmission of damaged data plays a critical role, especially in wireless regions.
FIG. 4 is a view showing the process of data retransmission in the conventional data transmission system. Referring to FIG. 4, in the conventional data system 40, the transmitting end 44 transmits the RTP packet to the receiving end 42 upon a data transmission request by the receiving end 42. The receiving end 42 analyzes a RTP packet that has a reception error, and sends out a packet number of the error-containing RTP packet. For example, among the transmitted RTP packet Nos. 1˜30, when packet numbers of the reception error-containing packets are 8, 9, 10, 16, the packet numbers of 8, 9, 10, 16 are sent to the transmitting end 44 with a retransmission request. The transmitting end 44 retransmits the RTP packets of requested packet numbers to the receiving end 42 according to predetermined retransmission times.
As described above, conventionally, retransmission of damaged packets was carried out by applying a standardized retransmission method with respect to all of the data, regardless of the transmission medium and bandwidth. That is, frequency of retransmission was predetermined and an erroneous packet was retransmitted according to such predetermined frequency, which does not consider multimedia data characteristics.
Regarding wireless data communication using RLP, in a transmission unit of RLP, data transmission is made between a mobile station, which is the wireless region, and a base station, which is a wired region. Typically in the mobile station, the RTP, UDP, IP regions (IP/UDP/RTP header) of an RTP packet is compressed. Then, the payload (e.g., multimedia data) and the compressed IP/UDP/RTP header are transmitted through (encapsulated by) the RLP as one unit. The receiving end 42 analyzes a packet number of a packet that contains a reception error and requests a retransmission. RLP is one of those conventional transmission methods that do not consider characteristics of the data, and the retransmission times are set at the beginning of the transmission. If the receiving end 42 requests retransmission, the transmitting end 44 accepts the request if the request is below the pre-set retransmission times, but ignores the request if the request exceeds the pre-set retransmission times.
In the conventional data transmitting/receiving systems, a retransmission is carried out regardless of the characteristics of the data. Therefore, the retransmission-requested data cannot restore damaged data in a uniform manner. Especially with respect to moving picture data coded according to MPEG, which is comprised of Intra picture and Inter picture, restoration quality of the respective pictures tend to vary. Even with respect to pictures of a same kind, restoration of the data may vary according to (be affected by) sequences of data (i.e., a temporal data sequence). Accordingly, there is a need to control retransmission to reflect characteristics of the data.